Golang Job: Software Engineer

Job added on

Company

ActiveState

Location

Vancouver - Canada

Job type

Full-Time

Golang Job Details

Software Engineer - Graph Algorithms
Experience level: senior+
ActiveState Platform - made by developers for developers! We are securing open source software supply chains and reinventing build engineering with an on-demand SaaS Platform and CLI tool that lets developers automate the building of any runtime environment using any open source language ecosystem on any platform. We support Python, Perl, Tcl, and Ruby and we're hiring to add more languages and packages! We’re building an ambitious language distribution platform so that no engineer ever has to suffer dependency hell again, and we need your help to do it!
This position is open to full-time telecommuters anywhere in Canada or continental US time zones. You can also choose to work from our headquarters in beautiful Vancouver, BC.
What You'll Be Doing
At ActiveState we are building a highly scalable, 100% automated build system for multiple languages across multiple platforms. We’re also creating microservice APIs for other teams to code against as we build our big new thing.
Our platform resolves dependencies for open source languages and libraries all the way up and down the stack. If this sounds like a difficult computer science problem, it is! If you’re motivated by graph theory, dependency resolution, and wrestling with practical applications of things like the Byzantine Generals Problem, we want to meet you!
This specific team develops and maintains the systems that perform the dependency resolution algorithm, model dependency data, and produce the APIs for interacting with this system. On this team, you’ll spend time breaking new ground to support new languages and systems as well as optimizing our existing systems. You will work closely with your peers to influence and guide the technical direction of the company. You will exercise good technical knowledge to build ‒ and refine ‒ tools, data, and processes.
We’re a polyglot company and embrace using the best language for the given task at hand. You’ll regularly find Golang, Elm, Javascript, Python, Docker, Kubernetes, GraphQL, Haskell, and other modern tools. Quality is as important as speed. We’re building for the long run, so you’ll need to be proficient in writing tests and documentation too. Our day to day work practices are centered around GitHub, pull requests, code review, CI, measurement and testing, and agile development. We’re always looking to improve and we expect you to help us to do so.
The team is remote first, primarily in the US and Canada, so we coordinate with each other and the rest of the company using Slack for chat, Zoom for video calls and screen sharing, Jira, and the Google Suite.
We use open source software whenever possible, and we contribute back to the open source ecosystem. We embrace open sourcing both libraries and tools developed in-house as long as those are not mission-critical code.
What's In It For You

  • Working for a stable and growing company that offers the environment and personal growth potential of a start-up as well as the stability of a business with established revenue.
  • The chance to work with a smart, enthusiastic team of people.
  • The chance to work on a project that will change the work lives of developers around the world, including your own!
  • Competitive salary and bonus plan.
  • Comprehensive benefits package and health/wellness credit program.

Requirements

  • Experience creating and maintaining complex software systems along with the ability to design non-trivial applications and components from scratch.
  • The ability to write clean, well-tested code with clear documentation.
  • Deep experience with at least one programming language, and shallow experience with several.
  • Excellent written and spoken skills, both technical and non-technical. You’ll need to work closely with your developer teammates, as well as be able to have coherent conversations with people from QA, sales, marketing, and other parts of the company.
  • A willingness to engage in the process of defining our work through conversations with product management, other engineering teams, and the rest of the company. This includes identifying risks, tradeoffs and alternative solutions to complex problems, as well as understanding company strategy and objectives to develop tactical plans for a project.
  • The capability to do research on solutions to new problems in response to project requirements, as well as research on new technologies.
  • The ability to help others on the team become better at their jobs through mentoring, thoughtful code reviews, and generally being a team player.
  • Software architecture and design and implementation, including technical planning, testing, and documentation.

Assets
If you have experience with any of the following please make sure to highlight it in your cover letter:

  • Experience with SAT solvers, graph theory, and dependency resolution algorithms.
  • Experience writing parsers, interpreters or compilers or manipulating abstract trees for symbolic computation
  • Golang, especially large code bases.
  • Experience with functional languages such as Haskell and Elm
  • Open source experience and contributions, especially libraries for languages such as Perl, Python, Tcl, PHP, Ruby, Node, and Java
  • Microservices and message queues.
  • PostgreSQL and relational databases.
  • Agile processes, including breaking large projects up into smaller stories, estimation, working in branches (GitHub Flow), code review, and CI/CD
  • Working knowledge of Docker, Mesos, Kubernetes, Go, and/or Bazel

Working at ActiveState
ActiveState has a collaborative, respectful, and professional culture. We’re all about working together to find the best solutions, and making sure that the experience of doing so is positive for everyone involved. There is a commitment from the CEO on down to making work at ActiveState a great experience for all.
Our company is a team of 65+ and growing, with half of the positions in technical roles. We maintain a set of core, overlapping hours, but we’re flexible with specific start and end times and are understanding about appointments and life events.
Our vision is to have an ActiveState solution on every device on every planet, so we certainly don’t lack ambition! But even though we’re ambitious we don’t expect work to become your life. We know you will do your best work in a positive environment free from death marches. For more about working at ActiveState and our Glassdoor rating go to www.activestate.com/careers.
How to Apply
Please submit your contact info, resume, and a cover letter below. Submissions without a cover letter will not be considered. We look forward to hearing from you!
We are committed to creating a welcoming environment for everyone at ActiveState and we welcome applicants from all walks of life.
Even if you don’t feel you meet every exact requirement, we still would love to hear from you and why you think you would be an awesome addition to our team and we encourage you to apply.

Job Type: Full-time